<%@ Page Language="C#" MasterPageFile="~/MasterPages/Learning.Master" AutoEventWireup="true" CodeBehind="WebStandards.aspx.cs" Inherits="Mindscape.BackgroundMotion.Website.Learn.WebStandards" Title="Code: Learn about Web Standards" %>
<asp:Content ID="Content3" ContentPlaceHolderID="BodyContent" runat="server">
    <h2>What are "Web Standards" anyway?</h2>
    
    <p>Web Standards are agreed upon ways of developing solution that utilise the web. There are many different web standards: HTML, XHTML, CSS, WCAG, WAI, <a href="rss.aspx">RSS</a> as well as many more. It's understandable that the web is built on standards! By the very nature of attempting to have hundreds of millions of machines working together you need a strong set of rules to govern the communication protocols which can be used.</p>
    
    <h2>How we adhered to standards in BackgroundMotion</h2>
    
    <p>Throughout the development of BackgroundMotion we used modern tools such as Visual Studio 2005 and Microsoft Expression Web which ensured we were aware whenever we accidentally broke standards. With these sorts of visual guides when developing for the web it reduces the risk of having to spend considerable time retrofitting a website to be standards compliant later. </p>
    <p>We also found several small utilities that helped when validating pages against tools such as the W3C validators. One such tool was the Internet Explorer Web Developer Toolbar Beta 3. This tool integrated directly into Internet Explorer and helped automate the process of validating local html. Validating local html presents a wee bit of a chore as you need to POST the content of the page to the validator as the validator cannot reach a page unless it is publically hosted (which isn't the case in development). The toolbar allowed a single click to send local content to the validator meaning we could spend less time validating and more time developing the solution further. There are many more features but this one was a real time saver.</p>
    <p>It is important to decide what standards to develop to when you kick off a project to help reduce the cost of retrofitting, in our case we wanted to adhere to XHTML 1.0 transitional, CSS 1.2 and many other standards such as OpenSearch, RSS etc. One of the great things we discovered was how few hacks were required to ensure the site rendered the same in different browsers - modern browsers really are making it a lot easier to develop solutions fast.</p>
    
    <h2>Microsoft Expression Web</h2>
    
    <p>Much of the HTML and CSS work was done using Microsoft Expression Web, a new tool that is targeting web designers much more than web developers and pushes functionality to make their work easier. This includes features such as a rich reporting on validation, link checking, HTML optimisation, CSS management, easy CSS positioning, split code/WYSIWYG view, ASP.NET integration... you get the idea, there is a heap of functionality in this application!</p>
    <p>It's great to see that designers can now work with ASP.NET controls and Master Pages however as this streamlines collaboration between designers and developers. Features like this help accelerate the development time of solutions and we certainly found it much easier in developing BackgroundMotion with capabilities like this.</p>
    
    <h2>Where can I find out more information?</h2>
    <ul>
      <li><a href="http://www.w3.org/">The World Wide Web Consortium (W3C)</a> - the folks that govern web standards</li>
      <li><a href="http://validator.w3.org/">The W3C Validators</a></li>
      <li><a href="http://www.w3schools.com/">The W3C Schools</a> - learn about various standards</li>
      <li><a href="http://www.microsoft.com/expression/">Microsoft Expression Web</a> - Get the free trial!</li>
    </ul>
    <p>
    </p>
</asp:Content>
